<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <h1>async关键字的使用</h1>
    <script>
        // async 是一个异步关键字，放置在函数前面，用于修饰一个函数(具名函数，匿名函数，箭头函数)
        // 修饰的函数执行后会返回一个Promise对象 
        // async function demo(){   }    // 具名函数
        // const demo = async function(){  } // 匿名函数
        // const demo = async () => { }  // 箭头函数

        async function demo(){
            //1. 若当前函数返回的是非Promise对象，而是普通值，则会返回一个成功promise,值为返回值
            return {name:"lisi",age:20};
            //2. 若当前函数返回的是一个Promise对象，则返回的和当前内容一样的promise新对象
            // return new Promise((resolve, reject) => { 
            //     //resolve("ok");
            //     reject("error");
            // })
            //3. 若返回的值前程序报异常 
            // throw new Error("无权操作当前数据");
            //console.log(num);
         }

        // 测试
        const ob = demo();
        console.log("res:", ob);

    </script>
</body>
</html>